package com.dx.wlmq.service;

import com.dx.wlmq.domain.SysUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;

/**
 * @ClassName SysUserMapper
 * @Description 业务层接口定义
 * @Author 12994
 * @Date 2024/10/17 13:19
 * @Version 1.0
 **/
public interface SysUserService {
    /**
     * 查询所有用户列表
     *
     * @return 符合条件的用户列表
     */
    ArrayList<SysUser> listSysUsers();

    /**
     * 通过用户id查询一个用户
     *
     * @param userId 用户id
     * @return 一个用户对象
     */
    SysUser findUserByUserId(@Param("userId") Long userId);

    /**
     * 添加用户
     *
     * @param sysUser 一个用户对象
     * @return 操作影响到的数据库行数
     */
    int addSysUser(SysUser sysUser);

    /**
     * 更新用户
     *
     * @param sysUser 一个用户对象
     * @return 操作影响到的数据库行数
     */
    int updateSysUser(SysUser sysUser);

    /**
     * 通过id删除用户
     *
     * @param userId 用户id
     * @return 操作影响到的数据库行数
     */
    int removeSysUserByUserId(@Param("userId") Long userId);

    /**
     * 使用用户名的模糊查询
     *
     * @return 符合条件的用户列表
     */
    ArrayList<SysUser> listSysUsersLike(@Param("userName") String userName);
}
